#
# Copyright (C) 2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=glib2-tch
PKG_VERSION:=2.32.3
PKG_RELEASE:=1

PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
PKG_SOURCE_FILE:=$(TOPDIR)/dl/$(PKG_SOURCE)
PKG_BUILD_DIR:=$(BUILD_DIR)/glib-tch-$(PKG_VERSION)
PKG_SOURCE_URL:=@GNOME/glib/2.32/
PKG_SHA256SUM:=b65ceb462807e4a2f91c95e4293ce6bbefca308cb44a1407bcfdd9e40363ff4d

PKG_FIXUP:=libtool
PKG_BUILD_DEPENDS:=glib2-tch/host libpthread zlib libintl libffi-tch
HOST_BUILD_DEPENDS:=libintl/host libiconv/host libffi-tch/host
PKG_INSTALL:=1

HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-tch-$(PKG_VERSION)

include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk

define Package/glib2-tch
  SECTION:=libs
  CATEGORY:=Libraries
  DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS) +zlib +libpthread +libffi-tch
  TITLE:=glib-tch 2.0
  URL:=http://www.gtk.org/
endef

define Package/glib2-tch/description
  The GLib library of C routines
endef

define Host/Prepare
	$(TAR) xf $(PKG_SOURCE_FILE) -C $(HOST_BUILD_DIR)/
	@if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
		$(KPATCH) $(HOST_BUILD_DIR)/glib-$(PKG_VERSION)/ ./patches; \
	fi
	mv $(HOST_BUILD_DIR)/glib-$(PKG_VERSION)/* $(HOST_BUILD_DIR)/
	rm -rf $(HOST_BUILD_DIR)/glib-$(PKG_VERSION)
endef

define Build/Configure
	$(call Build/Configure/Default, \
		--enable-shared \
		--enable-static \
		--enable-debug=no \
		--disable-selinux \
        --disable-fam \
        $(if $(ICONV_FULL),--with-libiconv=gnu) \
		, \
		glib_cv_stack_grows=no \
		glib_cv_uscore=no \
		ac_cv_path_GLIB_GENMARSHAL=$(STAGING_DIR_HOST)/bin/glib-genmarshal \
		ac_cv_func_mmap_fixed_mapped=yes \
		ac_cv_func_posix_getpwuid_r=yes \
		ac_cv_func_posix_getgrgid_r=yes \
	);
endef

define Build/Prepare
	$(TAR) xf $(PKG_SOURCE_FILE) -C $(PKG_BUILD_DIR)
	@if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
		$(KPATCH) $(PKG_BUILD_DIR)/glib-$(PKG_VERSION) ./patches; \
	fi
	mv $(PKG_BUILD_DIR)/glib-$(PKG_VERSION)/* $(PKG_BUILD_DIR)/
	rm -rf $(PKG_BUILD_DIR)/glib-$(PKG_VERSION)
endef

define Build/InstallDev
	$(INSTALL_DIR) $(1)/usr/include
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/include/glib-2.0 \
		$(1)/usr/include/
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/glib-2.0/include/*.h \
		$(1)/usr/include/glib-2.0/
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/include/gio-unix-2.0 \
		$(1)/usr/include/

	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/glib-2.0 \
		$(1)/usr/lib/

	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} \
		$(1)/usr/lib/

	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
	$(INSTALL_DATA) \
		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
		$(1)/usr/lib/pkgconfig

	$(INSTALL_DIR) $(2)/share/aclocal/
	$(INSTALL_DATA) \
		$(PKG_INSTALL_DIR)/usr/share/aclocal/*.m4  \
		$(2)/share/aclocal/
endef

define Package/glib2-tch/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/*.so* \
		$(1)/usr/lib/
endef

$(eval $(call HostBuild))
$(eval $(call BuildPackage,glib2-tch))
